Sentinel-2数据简介与下载加工更新2019.6.16
经过今天的试验,终于知道了哨兵数据如何处理成ENVI或易康可用,哨兵数据真的比国产高分做植被分类好用太多,最起码看起来清楚,地物边缘非常锐利平滑,没有高分系列成像的那种模糊感。
废话少说,后面是数据下载与预处理的干货:
欧空局(ESA)仅发布了哨兵2号(S2)的L1C级多光谱数据(MSI),L1C级数据是经过几何精校正的正射影像,并没有进行辐射定标和大气校正。同时,ESA还对S2 L2A级数据进行了定义,L2A级数据主要包含经过辐射定标和大气校正的大气底层反射率数据(Bottom-of-Atmosphere corrected reflectance),但这个L2A数据需要用户根据需求自行生产,为此,ESA发布了专门生产L2A级数据的插件Sen2cor。
哨兵数据下载
https://scihub.copernicus.eu/
注册一个账号和密码下载哨兵数据
哨兵处理软件下载
哨兵无法直接用ENVI5.3.1打开,据说ENVI5.4以上版本可以打开,5.4.1以上版本可以进行处理,但是以上版本都没有破解,所以只好通过欧空局提供的软件包先进行哨兵的预处理,然后再使用ENVI或其他遥感软件应用。
下载SNAP软件:
http://step.esa.int/main/download/
下载Sen2cor软件:
http://step.esa.int/main/third-party-plugins-2/sen2cor/
哨兵数据打开:
打开SNAP:File-Import-Optical Sensors-Sentinel2-S2-MSIL1C
选择解压缩后的哨兵2数据中的MTD-MSIL1C.xml文件打开:
加载RGB真彩色影像:
L2A数据处理:
L2A数据需要使用Sen2Cor软件包处理:
将解压缩后的Sen2Cor软件包复制到
C:\Users\Administrator\AppData\Local\
目录下:
打开图上箭头指向文件夹,点击L2A_Process.bat
Windows键+R,cmd,运行控制台
cd C:\Users\Administrator\AppData\Local\Sen2Cor-02.05.05-win64
说明Sen2Cor开始运行,粘贴
L2A_Process –help
CMD中可以使用鼠标右键粘贴命令,但是不能使用快捷键Ctrl+V
然后,把Sen2cor的存放路径(C:\Users\Administrator\AppData\Local\Sen2Cor-02.05.05-win64),添加到系统的环境变量中,具体步骤:我的电脑→右击、属性→高级系统设置→选择环境变量→Path→编辑、新建,即可完成添加;这样做的目的,是为了无论在什么目录下运行,Windows系统都可以找到Sen2cor插件
接下来就是数据处理了
要把L1C数据复制到
C:\Users\Administrator
目录下
可能是因为我对CMD的使用不了解,相对目录绝对目录的不会用,只是按照上面那样试验成功了。
在CMD中粘贴以下代码:
L2A_ProcessS2A_MSIL1C_20180904T024541_N0206_R132_T50SPG_20180904T053814.SAFE --refresh
然后将看到CMD中不断的有代码弹出,午睡一会,睡醒了你就能看到,处理成功!
L2A数据无法打开:
处理后的L2A数据无法打开,是因为Sentiel2toolbox没有及时更新
需要对软件进行更新,Tools-Plugins
需要对上图所示工具进行更新,如果由于网络问题无法更新,可以找一台能够翻墙的电脑,对这个进行更新
将上图所示文件夹替换,即可
哨兵影像输出
如图所示,使用Bandselect功能导出想要的波段:
B2,B3,B4,B8均为10米分辨率,可以输出满足一般分类需求
或者对数据进行重采样:
重采样默认保留所有波段,然而分辨率默认会以B1为准,也就是60m
影像细节展示
哨兵虽然分辨率比GF2低,多光谱最高10m,但是成像质量高太多,目视解译道路、建筑边缘比高分系列要强,而且定位精准,标准的WGS_84坐标,便于和Landsat数据对比分析。
………………………………2018-11-03修改……………………………………
订正:
前面文件复制的地方,应该是放到
C:\Users\Administrator\AppData\Local\Sen2Cor-02.05.05-win64目录下:
后面我第二次处理影像的时候发现根据前面的方法有问题,就是S2AL1C文件存储位置有误,可能是我前面控制台敲代码的时候没有注意到对默认目录进行了修改,但是没有注明,后面直接放到Administrator目录下是无效的。
………………………………2019-01-10修改…………………………
补充一些内容,前面提到S2A L2A数据无法直接在SNAP中打开的问题,需要更新s2tbx,现将更新后的s2tbx打包后放到网盘上,方便使用
链接:https://pan.baidu.com/s/1HqxK3j1UYp6RXh5zvuGjVg
提取码:riqq
复制这段内容后打开百度网盘手机App,操作更方便哦
…………………………2019.5.23修改……………………………………
ESA提供了最新的Sen2Cor v2.8软件包
软件包说明与下载地址:
http://step.esa.int/main/third-party-plugins-2/sen2cor/sen2cor_v2-8/
同样,软件包必须放置在以下位置,L1C数据也是在这个目录下:
C:\Users\Administrator\AppData\Local\Sen2Cor-02.08.00-win64
使用时在CMD中输入:
cd C:\Users\Administrator\AppData\Local\Sen2Cor-02.08.00-win64
以上命令开启Sen2Cor
L2A_Process S2B_MSIL1C_20181214T031129_N0207_R075_T50SLJ_20181214T072540.SAFE
开始执行数据处理,L2A_Process 后面跟解压后的文件夹名称,注意的是,原来版本中--refresh没有了
L1C批量转换L2A:
for /D %s in (C:\Users\Administrator\AppData\Local\Sen2Cor-02.08.00-win64\S2A_MSIL1C*) do L2A_process %s
()中填写L1C数据所在地址,注意,这里是S2A数据,当使用S2B数据时后面需要调整S2B_MSIL1C*
…………………………………………2019.6.16更新………………………………………
关于Sen2Cor处理结果的问题:
Sen2Cor处理完成后,即为大气层底(Bottom of Atmosphere)反射率影像。在这里,乘了系数10000,因此,在ENVI中查看SNAP导出的影像正常的范围为0-10000,要按照反射率计算,只需除以10000即可。
但是受地物高反射影响,有个别像元会出现>10000的情况,在这里只需要使用波段计算,将异常值转换为10000即可。
以下是反射率校正代码:
IF b1 > 1 THEN 1 ELSE b1
参考文献
方法和介绍参考了几篇博文
http://blog.sciencenet.cn/blog-3367669-1085133.html
https://www.ixxin.cn/2017/03/13/shaobing2aorlandsat8/
http://www.rscloudmart.com/xuetang/xxg/detail/sentinel2a#canshu
https://blog.csdn.net/qq_41718357/article/details/89023618
ESA关于反射率溢出的论坛解释:
https://forum.step.esa.int/t/the-record-of-values-above-1-0-after-resampling-and-reprojection-pf-beamdimap-format-of-sentinel-2-images/14962/6